package hsrt.com.dynamiccomponent_android.dynamic_component;

import com.chad.library.adapter.base.entity.MultiItemEntity;

import java.lang.ref.WeakReference;
import java.util.List;
import java.util.Map;

public interface DataElementInterface<T> extends MultiItemEntity, ValidationInterface {

    WeakReference<DataElementInterface> getPrevious();

    void setPrevious(WeakReference<DataElementInterface> previous);


    DataElementInterface getNext();

    void setNext(DataElementInterface next);


    int getSection();

    void setSection(int section);


    String getChildObjectName();

    void setChildObjectName(String childObjectName);


    String getChildObjectFlag();

    void setChildObjectFlag(String childObjectFlag);


    boolean isEdit();

    void setEdit(boolean edit);

    T dataModel();

    void setDataModel(T dataModel);

    public boolean isSubscriber();

    public void setIsSubscriber(boolean subscriber);

    public List<DataElementInterface> getSubscribers();

    public void setSubscribers(List<DataElementInterface> subscribers);

    Map<String, Object> getSubmitData();

}
